package com.ruicar.afs.cloud.basic.common.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruicar.afs.cloud.basic.common.entity.BasicFinancialAgreement;
import com.ruicar.afs.cloud.basic.common.entity.BasicMainInfo;
import com.ruicar.afs.cloud.basic.proceeds.pay.entity.BasicPaymentPool;
import com.ruicar.afs.cloud.common.modules.contract.enums.PaymentStatusEnum;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * @author: Lee
 * @date: 2020/5/11 19:39
 * @description: 金融产品信息vo
 */
@Data
public class FinanceProductInfoVO {
    /** 合同主表信息 */
    private BasicMainInfo basicMainInfo;
    /** 合同金融协议信息 */
    private List<BasicFinancialAgreement> basicFinancialAgreement;
    /** 付款池数据 */
    private BasicPaymentPool basicPaymentPool;
    /** 已还期数 */
    private Integer repaidTermNo;
    /** 未还期数 */
    private Integer notPaidTermNo;
    /** 合同金额 */
    private BigDecimal contractAmt;
    /** 客户利率/贴息后利率 */
    private BigDecimal custRate;
    /** 首付金额 */
    private BigDecimal downPayAmt;
    /** 贷款金额 */
    private BigDecimal loanAmt;
    /** 付款状态 枚举值：待付款，付款中，付款成功，付款失败 */
    private PaymentStatusEnum paymentStatus;
    /** 付款金额 不可为负数 */
    private BigDecimal paymentAmt;
    /** 融资期数 */
    private Integer loanTerm;
    /** 月供金额 */
    private BigDecimal monthPayAmt;
    /** 上次还款日期 */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date actualPaymentDate;
}
